Mobile handset with browser application to be used to recognize textual presentation

ABSTRACT

A mobile handset for use in a mobile communications system includes a user interface, a radio communications front end, a radio transceiving antenna, and a browser application to interpret a multimedia document received from a remote server. The browser application recognizes textual presentation markup tags in the document and presents text to a user in accordance with the markup tags. The browser application recognizes a standard set of document-independent local library file markup tags in the document, and stores a standard set of non-textual local library files corresponding to the local library file markup tags. The browser application further presents content provided by one of the local library files via the user interface in response to the recognition of one of the local library file markup tags in the document.

CROSS REFERENCE TO RELATED APPLICATION

[0001] This application is a continuation of U.S. patent application Ser. No. 09/463,475 entitled “MOBILE HANDSET WITH BROWSER APPLICATION TO BE USED TO RECOGNIZE TEXTUAL PRESENTATION” and filed on Jul. 27, 2000. The disclosure of the above-described filed application is hereby incorporated by reference in its entirety.

FIELD OF THE INVENTION

[0002] This invention relates to data communications, and in particular to the communication of multimedia documents from multimedia servers to multimedia clients.

BACKGROUND OF THE INVENTION

[0003] The Internet currently provides users with a number of different services. One of such services is the WorldWide Web, or “the Web”, which has now become relatively well-known and well-used by fixed terminal subscribers.

[0004] To access the Web, a user installs a “browser” application on a terminal, which acts as a client interfacing with a network of distributed Web servers via the Internet.

[0005] In order to access a page on the Web, a user specifies a universal resource locator (URL), and transmits a page request via a data link to the Internet. In the Internet, the request is routed to the appropriate Web server as identified in the URL. In return, the Web server transmits the pages back to the requesting browser. The communications protocol used within the Internet is TC/IP during this dialogue.

[0006] Web pages are currently formatted using the HyperText markup language (HTML). A Web browser, on receipt of a HTML document, interprets the HTML commands in order to format the text correctly. HyperText links may be included in the document which, when presented to the user, may be selected in order to request a further Web page (a HTML link references a further URL with which the browser retrieves the further page). Web pages currently contain not only text and hyperlinks, but also image, audio and/or video files (hence, Web pages are referred to as “multimedia” documents).

[0007] Although the textual data in the Web page is generally relatively data-compact, it is recognized that graphics files, audio files, and in particular video files, contain relatively large amounts of data which can reduce related download of Web pages considerably. As a result, the downloading of “true” multimedia documents including graphics, audio and/or video files can be cumbersome, in particular where the data link used into the Internet is of a type which is of a relatively low data rate.

[0008] The speed of download of multimedia Web pages is particularly problematic in the case of mobile data links such as a cellular radio data link, in which the radio data transfer is constrained by the relatively low bandwidth of the radio interface link.

[0009] Therefore, although it is currently possible to access the Web at a mobile communications terminal, the option is currently not widely taken advantage of and, when taking advantage of, the data transferred is generally limited to textual data to achieve reasonable download speeds.

[0010] Methods are known whereby the amount of data transfer involved in accessing the Web are reduced. In particular, many browsers support a caching facility whereby a Web page, once downloaded, is temporarily stored locally on the client terminal. When the Web page is next requested, the browser recognizes, by the URL in the request corresponding with the URL of the cached document, that the document is currently held locally, and retrieves the locally-held page in preference to re-downloading the page from the Web. The browser may transmit an update check to the Web server in question in order to confirm that the locally-stored Web page remains valid, and if not, downloads the updated Web page.

[0011] Caching may be performed on a session-by-session basis, or may be performed such that a cached Web page remains stored between sessions. However, a browser maintains only a limited non-volatile cache of Web pages, and newly-cached Web pages are stored in preference to previously-stored Web pages (which are then deleted) when the cache becomes full.

SUMMARY OF THE INVENTION

[0012] In accordance with one aspect of the present invention there is provided a multimedia client terminal, said terminal comprising:

[0013] a browser for interpreting a multimedia document received from a remote server, said interpreting means comprising:

[0014] means for recognizing textual presentation markup tags in said document and presenting text to a user in accordance with said markup tags;

[0015] means for recognizing a standard set of document-independent local library file markup tags in said document;

[0016] means for storing a set of non-textual local library files corresponding to said local library tags; and

[0017] means for presenting the contents of one of said local library files to a user in response to the recognition of one of said local library file tags in said multimedia document.

[0018] Rather than needing to download non-textual files accompanying the text of a document, the client terminal is able to receive one or more of a known set of document-independent and data-efficient markup tags and access locally-stored files which correspond to the tags in the downloaded document.

[0019] The arrangement of the present invention is to be contrasted with the arrangement in which the client terminal holds a non-volatile cache (although, such a cache may be used in combination with the present invention), in that caching mechanisms do not utilize document-independent local library markup tags. Instead, a document is cached by selection of a URL, and it is unlikely that, when a new multimedia document is downloaded, any parts of the document will already be held locally.

[0020] The use of a non-volatile cache is non-systematic, and does not allow a server content developer to design multimedia documents specifically for low data-rate communication links, which is possible with the present invention.

[0021] In addition, a non-volatile cache arrangement does not allow a user of a low data-rate receiving terminal to be confident that a new multimedia document can be downloaded at an acceptable speed, which is possible with the present invention.

[0022] By defining a standard set of document-independent local library file tags, the present invention allows a server content developer to include one or more of such tags within a document to be placed on a server in the knowledge that a user, provided with a client application for recognizing the predefined set of local library tags and for retrieving appropriate locally-stored files, will be able to download the document relatively quickly and receive each of the intended multimedia parts as intended.

[0023] The present invention is of particular utility in relation to mobile communications terminals.

[0024] Further aspects of the invention are set out in the appended claims.

[0025] Further features of embodiments of the invention are as follows:

[0026] 1. The system employs tags to locally stored graphical images, drawing primitives, pre-drawn images, image manipulators, audio and video files.

[0027] 2. A first set of tags provides basic two dimensional drawing functionality, enabling the creation of a range of simple but effective composite images by means of combinations of drawing primitives.

[0028] 3. The client functionality supports a standard predefined range of pre-drawn images that can add further graphical content to a page, over and above that achieved using the drawing primitives. This enables an image to be retrieved from the local repository to be displayed at the specified co-ordinates. A scaling factor may be specified to dynamically resize the image and a hyperlink can be optionally provided.

[0029] 4. The client functionality supports the manipulation of on-screen bitmap images.

[0030] 5. A second set of tags provides basic audio playback capability. The system employs tags to stored speech files as well as the ability to interpret “talking Web pages” through text to speech translation software.

[0031] 6. The client functionality supports a standard predefined range of audio files enabling a file to be retrieved from the local repository, and spoken by a speech agent at the client.

[0032] 7. The speech agent supports default vocal and facial styles in order to allow different genders, accents and languages into the playback. Different facial appearances may be selected for the agent. The combination of attributes may be used to create agents with different personalities.

[0033] 8. A third set of tags provides basic video clip playback capability. The system employs tags to stored video files.

[0034] 9. The client functionality supports a standard predefined range of video files enabling a file to be retrieved from the local repository and replayed at the client.

[0035] 10. In one embodiment, tags implementing the new functionality are embedded into Web pages, which may also contain HTML, and content handlers filter out the tags implementing the new functionality before resolving them.

[0036] 11. In another embodiment, references to files implementing the new functionality are embedded into Web pages, which may also contain HTML, as markups (e.g. for graphics resources <imgsrc=“images/text.hgml”>; for audio resources <spesrc=“audio/test.hsml>; and for video resources <vidsrc=“video/test.hvml”>).

[0037] 12. In a further embodiment, pages implementing the new functionality are a separate resource, which may be hyperlinked in the corresponding Web pages containing HTML (e.g. http://www.test.com/text.hgml).

[0038] 13. The drawing functionality provided by tags to graphics primitives supports Web page navigation by means of hyperlinks.

BRIEF DESCRIPTION OF THE DRAWINGS

[0039] Embodiments of the invention will now be described, by way of example only, with reference to the accompanying drawings, wherein:

[0040]FIG. 1 shows a schematic block diagram illustrating a document retrieval system in accordance with an embodiment of the invention;

[0041]FIG. 2 illustrates a client/server functionality in accordance with an embodiment of the invention;

[0042]FIG. 3 illustrates a predefined set of document-independent graphics tags and a set of corresponding graphics elements;

[0043]FIG. 4 illustrates an alternative set of graphics elements to be used with the predefined set of graphics tags illustrated in FIG. 3; and

[0044]FIG. 5 illustrates a screen display provided in accordance with an embodiment of the invention.

DETAILED DESCRIPTION OF CERTAIN EMBODIMENTS OF THE INVENTION

[0045] Referring to FIG. 1, a multimedia document retrieval system in accordance with an embodiment of the invention includes a mobile client terminal 2 communicating via a mobile communications network 4, such as a GSM digital mobile communications network, and the Internet 6 with the Web server 7.

[0046] The mobile client terminal 2 includes a user interface 8, a client application 10, a radio communications front end 12 and a radio transceiving antenna 14.

[0047] The user interface 8 includes a keypad, a display screen and a loudspeaker for accepting user input and outputting images and audio signals respectively.

[0048] The client application 10 is a customized Web browser, such as a customized version of the Netscape Explorer (Registered Trademark) browser, and includes standard content handlers such as a text content handler 16 and an image content handler 18.

[0049] In addition, the client application 10 includes, as provided in accordance with the present invention, a graphics tag handler 20, an audio tag handler 22 and a video tag handler 24. These content handlers may be components of the browser 10 produced in a development language such as Java, or JavaBeans (Registered Trademark). Associated with each of the tag handlers are a standard graphics library 26, a standard audio library 28 and a standard video library 30, containing content files which are document-independent. The graphics library consists of graphics files GF 1-X. The audio library consists of a number of audio files AF 1-Y, and the video library consists of a number of standard video files VF 1-Z.

[0050] The radio communications front end 12 includes amplifiers, frequency selective circuits, etc which are used to perform radio communications via the radio transceiving antenna 14.

[0051] The mobile client terminal 2 may be one of various types of terminal, for example a laptop computer provided with radio communications facilities, a personal digital assistant (PDA), or a mobile handset provided with Web browsing capabilities.

[0052] Radio signals transmitted and received by the radio transceiving antenna 14 of the mobile client terminal 2 are received and transmitted by a cell site antenna 32 of the mobile communications network 4, via a radio link 33. Only one cell site antenna is illustrated but it will be appreciated that a large number of such antennas are provided in the mobile communications network 4, and the particular serving cell site antenna will depend on the location of the mobile client terminal 2 at any particular time. The cell-site antenna interfaces, via a base station 34, to a mobile switching exchange 36 of the mobile communications network, which maintains a circuit connection 38 with an Internet gateway 40.

[0053] The Internet gateway in turn interfaces via the Internet 6 to the Web server 7, using a TCP/IP connection 42.

[0054] The server 7 holds a set of Web pages 44, each being referenced by different URLs.

[0055] The contents of one such Web page 46 are illustrated in FIG. 1. The Web page 46 contains a textual portion 48, to be handled by the text content handler 16, an image file portion 50, to be handled by the image content handler 18, one or more of a standard predefined set of document-independent graphics tags 52, to be handled by graphics tag handler 20, one or more standard predefined document-independent audio tags 54, to be handled by audio tag handler 22, and one or more of a standard predefined set of document-independent video tags 56. Others of the Web pages 44 also contain text content and the graphics tags, audio tags and video tags used in the illustrated document 46 may be repeated in the remaining Web pages of the set 44 held on the server.

[0056] When the client terminal 2 transmits the appropriate URL request to the server 7, via the various data links indicated, the server 7 transmits the Web page back, in HTML format, to the mobile client terminal 2. At the client terminal 2, the various content handlers 16-24 interpret the HTML to present the text and image content 48, 50 of the Web page as indicated by the HTML command therein, and the tag handlers recognize the particular graphics, audio and/or video tags referenced in the document 46, and present the contents of the corresponding file in the libraries 26, 28, 30 as indicated by commands associated with the respective tags.

[0057]FIG. 2 illustrates functionality of a client/server at the content handler level, in accordance with one embodiment of the invention. In this embodiment, three different “markup-languages” are provided for developing Web pages on the server site, and which are interpreted by the tag handlers 20, 22, 24 of the system shown in FIG. 1. These languages are referred to herein as the hyper-graphic mark-up language (HGML), the hyper-speech mark-up language (HSML) and hyper-video mark-up language (HVML).

[0058] Designed to extend the power of the Web to mobile communications applications, HGML, HSML and HVML provide for fast communications over narrowband radio channels, such as GSM, while also being functional on higher bandwidth systems.

[0059] Through the use of graphical files, audio clips and/or video clips provided on the mobile client terminal in a HGML/HSML/HVML Toolkit, the need for network programming may be significantly reduced, and it is possible to embed tags referencing advanced graphical, speech, video and animation which is stored on the client side into Web pages.

[0060] The content handler interprets the HGML/HSML/HVML commands into graphics primitives and calls to access stored graphical images and speech/video files. It is multi-threaded to allow multiple paints onto the page at a given time.

[0061] HGML, HSML and/or HVML commands may be embedded in a Web page containing HTML, in which case the client side content handlers process the page and filter out the HGML, HSML and/or HVML commands before resolving them.

[0062] References to HGML, HSML and/or HVML resource files may be embedded into Web pages, containing HTML, as markups (e.g. <imgsre-“images/test.hgml”>).

[0063] Alternatively, HGML/HSML/HVML pages may be hyperlinked as separate resources in Web pages containing HTML (e.g. http://www.test.com/test.hgml).

[0064]FIG. 2 illustrates the case in which the HGML/HSML/HVML resources are embedded as markups. FIG. 2 details how content handlers (as exemplified by a HGML content handler) manage content of variable type from a server to display it on a Web page.

[0065] The HGML content handler interprets the HGML commands into either graphics primitive or calls to access stored graphical images. There are a number of areas of functionality (which may be defined in object classes) on the client side:

[0066] Content handling: The upper object acting as a container for the other required functionalities;

[0067] Connection: To handle the network connection to the server and the retrieval of HGML resources from the server;

[0068] Command interpreter/Text processing: Takes the HGML resource and processes it into the various graphics requirements (i.e. if more than one picture resides in the resource, etc); and

[0069] Painting: Takes the commands that make a specific HGML graphic and draw the required graphics to the appropriate place in the browser graphical user interface. Again, this could be primitives or stored images. A Paint object extends a thread class and is managed by the command interpreter, allowing multiple paints to be performed at the same time.

[0070] HGML

[0071] HGML provides for:

[0072] 1. Construction of graphics from a standard set of graphics primitives (circles, lines, etc). These are described below.

[0073] 2. Recall and placement of a standard set of logo/clipart graphics from a client based store. Examples are illustrated in FIGS. 3 and 4.

[0074] 3. Prevention of download of photo-realistic images.

[0075] 4. Yielded graphics which act as hyperlinks.

[0076] HGML includes various tags or commands, which can be grouped into three functional categories, as shown below. Drawing Primitives Images Image Manipulation ARC IMAGE COPY ARROW THEME FLIP ELLIPSE PASTE LINE ROTATE LINETO LINEREL LINK ORIGIN POLYGON RECTANGLE SETSTYLE TEXT

[0077] Drawing Primitives

[0078] The first group of document-independent tags provide HGML with basic drawing functionality, enabling the creation of a range of simple but effective composite images.

[0079] Most commands include optional attributes for (out)line color, style, thickness and, when appropriate, fill color. If any of those that are not explicitly specified, the current default settings (as specified by the SETSTYLE tag) are used.

[0080] ARC

[0081] Draws an arc of a specified width, height and angle from absolute starting coordinates. It has the following attributes:

[0082] origin x, y coordinates of arc (absolute) followed by width, height, start angle and arc angle, line color, line style, and line thickness.

[0083] e.g. <arc coords=“20,20,50,30,45,80”color=red>

[0084] ARROW

[0085] Draws a line from x1,y1 to x2,y2 using absolute screen (window) coordinates, with an arrow head at the x2,y2 position. It has the following attributes:

[0086] start and end x,y coordinates (absolute), line color, line style, and line thickness.

[0087] e.g. <arrow coords=“10,10,100,100”,color=black, psize=“2”>

[0088] ELLIPSE

[0089] Draws an ellipse of a given width and height from the specified coordinates. This tag is also used to draw circles. The following attributes are provided:

[0090] center x,y coordinates (absolute) followed by width and height, outline color, fill color, outline style, and outline thickness.

[0091] e.g. <ellipse coords=“200,200,100,50”,color=black;fill=yellow>

[0092] LINE

[0093] Draws a line from x1,y1 to x2,y2 using absolute screen (window) coordinates. The attributes are:

[0094] [start and end x,y coordinates (absolute), line color, line style, and line thickness.

[0095] e.g. <line coords=“10,10,100,100”,style=“dotted”, psize=“2”>

[0096] LINETO

[0097] Draws a line from the current graphics cursor position to a new position (using absolute coordinates). The following attributes are defined:

[0098] end of line x,y coordinates (absolute), line color, line style, and line thickness.

[0099] e.g. <lineto coords=“200,150”, color=green>

[0100] LINEREL

[0101] Draws a line relative to the current graphics cursor position using coordinate offsets. The following are its attributes:

[0102] end of line coordinates (relative), line color, line style, and line thickness.

[0103] e.g. <linerelcoords=“15,−10”, psize=“4”>

[0104] LINK

[0105] Allows a rectangular portion of the screen to be defined as an hyperlink. The following attributes are given:

[0106] rectangular region x 1,y1,x2,y2 (absolute), hyperlink reference.

[0107] e.g. <link coords=“15,10,50,60”, href--“http://www.demo.com/demo.hgm”>

[0108] ORIGIN

[0109] Sets the position of the “graphics cursor”. For use with LINETO and LINEREL tags. New graphics cursor position x,y is attributed.

[0110] e.g. <origin coords=“100,130”>

[0111] POLYGON

[0112] Draws a polygon using a list of absolute screen coordinates, starting with an origin. Coordinates are listed in the format “x1,y1,x2,y2,x3,y3 . . . xn,yn”. The line from the last specified coordinates back to the origin of the shape is drawn automatically to complete the polygon. The following attributes are provided:

[0113] origin of shape, followed by n other points (all absolute coordinates), outline color, fill color, outline style, and outline thickness.

[0114] e.g.

[0115] <-six-sided-shape->

[0116] <polygon coords=“100,100,120, 80,140, 80,160,100,140,120, 120,120”, color=red, fill=red>

[0117] RECTANGLE

[0118] Draws a rectangle of a given width and height from the specified coordinates. This tag is also used to draw squares. The following attributes are defined:

[0119] top left x,y coordinates (absolute) followed by width and height dimensions, outline color, fill color, outline style, and outline thickness.

[0120] e.g. <rectangle coords=“10,10,100, 15”style=“dotted”>

[0121] SETSTYLE

[0122] Enables default settings for outline color, fill color and outlines style and thickness to be specified. These settings are then used unless explicitly overridden by the attributes in other HGML commands. The attributes are:

[0123] outline color, fill color, outline style, outline thickness.

[0124] e.g. <setstyle color=red, fill=green>

[0125] TEXT

[0126] Displays a text string, starting from the specified coordinates. It has the following attributes:

[0127] text position x,y coordinates (absolute), text string to display, and text color.

[0128] e.g. <text coords=“10,50’; text=“This is an example of HGML text”>

[0129] STORED IMAGES

[0130] A standard range of pre-drawn images are stored on the mobile client terminal, associated with a standard document-independent set of graphics tags as exemplified in FIG. 3. These images may be used to provide further graphical content to a page, in addition to that which may be achieved using the drawing primitives.

[0131] IMAGE

[0132] Enables an image to be retrieved from the local repository and displayed at the specified coordinates. The current theme will be used unless another one is explicitly specified. A scaling factor may be specified to dynamically resize the image and a hyperlink can be optionally provided. The attributes are:

[0133] image name, theme style, top left coordinates of image, scaling factor (percent), hyperlink reference.

[0134] e.g. <image name=ARROW1, coords=“50,50’, scale=150, href=“http://www.demo.com/demo.hgm”>

[0135] THEME

[0136] Enables a new current image theme to be selected. The attributes are:

[0137] name of image theme,

[0138] e.g <theme=DEFAULT>

[0139] An example of a set of images which may be associated with an alternative theme (“Theme 2”). As shown, different themes may not have defined images for all of the predefined set of tags—some may not be used in associated with a particular theme. Only a set number of theme styles are provided for.

[0140] At a high level, themes are split into three general categories:

[0141] Navigation

[0142] Images of buttons for a range of relatively standard Web page functions. The structure of this category is strictly defined by HGML such that images are referenced by standard names and relate to the same type of image irrespective of the theme being used (i.e. HOME, SEARCH, ARROW etc).

[0143] Design

[0144] A range of standard page design constructs in terms of lines, bullets, separators, etc. The structure of this category is strictly defined by HGML such that images are referenced by standard names and relate to the same type of image irrespective of the theme being used (i.e. LINE 1. LINE2, BULLET1 etc).

[0145] The navigation and design categories have a prescribed content (i.e. the first element in the Design category is always a line etc). As such, changing the theme associated with a page will mean that, whilst it looks different, the images displayed will still be meaningful and appropriate (e.g. a line will still appear where intended albeit in a different style).

[0146] User

[0147] User-defined images of which the content is specific to the theme. HGML defines standard names (i.e. USER1, USER2 etc), but these do not provide any indication of the type of image being referenced.

[0148] The client side HGML functionality provides at least a default theme. Other themes (defined for example by individual site designers) may be downloaded from a remote server the first time a service that uses them is accessed. Alternatively, a user may have a personal preferred theme which may be provided on the client terminal and used in preference to the default and/or downloaded theme.

[0149] User-defined theme elements are provided to permit a degree of flexibility to Web site developers, whilst still remaining optimization advantages.

[0150] This group allows local storage of other images, outside the standard categories prescribed. These may be used to reference any images that the site/theme designer wishes. It is anticipated that this will include images relating to corporate identity (e.g. logos etc) to further standardize the look and feel of their pages. They could, however, also include additional line and bullet styles etc that could not be encompassed under the standard headers provided.

[0151] The number of user-defined images is limited to a predetermined number (e.g. ten) in order to prevent the image repository from becoming undesirably large.

[0152] All images not included in the standard theme may need to be downloaded each time a site is accessed (although they may be cached from a previous session). At such, it is intended that user-defined slots are utilized to hold the largest and most used images (thus helping to further optimize download times).

[0153] Whilst user-defined images are envisaged primarily as site-specific, however other designers may wish to reuse them in their own sites. In this case, there are two alternatives:

[0154] (1) to incorporate the required images into the user-defined slots of the site's own theme; or

[0155] (2) to make the site reliant on two or more themes (i.e. a default, along with the ones) containing the images to be reused). In this case, the end-user obtains all of the necessary themes before being able to access the site. The site provider would provide download access for each theme.

[0156] Image Manipulation

[0157] HGML supports the manipulation of the onscreen bitmap image using COPY, PASTE, FLIP and ROTATE commands.

[0158] These are intended to further optimize the creation of certain types of image. For example, if a composite image created using several drawing primitives is also required at another onscreen location, then it may be copied and pasted rather than redrawn. The orientation of it may then be changed using the FLIP and ROTATE operations.

[0159] The functions also help to optimize the storage of theme images. For example, rather than store four Arrow symbols (pointing left, right, up and down), a single image may be stored in the database and then ROTATEd and FLIPed as desired.

[0160] COPY

[0161] Copies of specified rectangular screen segment to a memory buffer. The original image remains unchanged. The attributes are:

[0162] top left and bottom right coordinates of segment.

[0163] e.g. <copy coords=“50,50,100,100”>

[0164] FLIP

[0165] Performs a horizontal or vertical flip of a screen defined by the specified coordinates. The attributes are:

[0166] top left and bottom right coordinates of segment. and horizontal or vertical flip,

[0167] e.g. <flip coords=“50,50,100,100”, axis=“horiz”>

[0168] PASTE

[0169] Copies of the contents of a memory buffer to an appropriately sized rectangular screen segment, starting at the specified coordinates. The attributes are:

[0170] top left coordinates to paste segment.

[0171] e.g. <paste coords=“100,100”>

[0172] ROTATE

[0173] Performs a rotation of a circular screen area by a specified angle. The attributes are:

[0174] coordinates of center, radius and rotation angle.

[0175] e.g. <rotate coords=“50,50,30”,angle=“80”>

[0176] HSML

[0177]FIG. 5 illustrates a screen display on the mobile client terminal 2 when displaying a Web page containing HSML.

[0178] As illustrated, the browser displays the text content, formatted as specified by the HTML markups in the Web page, and a speech agent image portion 102, which is driven in accordance with the HSML markups contained or referenced in the downloaded Web page in association with the replay of locally-stored audio clips referenced by audio tags contained in the Web page, or the generation of speech by conversion from text contained in the Web page.

[0179] The speech agent interface provided by the mobile client terminal is controlled by a speech playback/generator program application and a moving image application program stored on the mobile terminal.

[0180] The speech agent has a variety of selectable vocal and facial styles. The various selectable vocal styles are defined in vocal style files stored on the mobile client terminal, containing data describing algorithms and settings for manipulating the audio data providing the speech function to alter the vocal characteristics. The facial style selections are defined in facial style files stored on the mobile client terminal. The facial style files include data defining a plurality of selectable base facial images, a plurality of selectable mouth images, a plurality of image animation algorithms (e.g. talk, smile, wink, etc.) corresponding with the base facial images and the mouth images, and a plurality of image rendering algorithms for rendering the facial style in accordance with selected characteristics of the face, such as skin color, hair color, etc. The vocal and facial style files may be stored permanently on the mobile terminal and/or stored in non-volatile memory on the mobile terminal after being downloaded from an Internet server.

[0181] The speech agent function provided in the mobile client terminal is provided with predefined default settings, in which the vocal and facial style characteristics are preset without input from the user. These characteristics include voice gender, accent, language, base facial style, skin color, hair color, eye color, mouth size, etc. The user may however override the default vocal and facial style characteristics settings, by resetting one or more of the characteristics via menu options on a man-machine interface of the mobile terminal, in order to provide a personalized default speech agent. The default speech agent settings, whether predefined or user-defined, are used unless an alternative agent theme is specified by mark-ups contained in a Web page, as described below. If an alternative agent theme is specified, the vocal style and the facial style of the speech agent is altered only for the duration of the display of the Web page in question, after which time the default speech agent is reverted to.

[0182] HSML includes the following markups: Audio Playback Agent Style Agent Control SAY AGENT THEME ACTION

[0183] SAY

[0184] This markup causes an audio file to be retrieved from, or generated using data retrieved from, the local repository and “spoken” by a speech agent. The default speech agent theme, defining the vocal and facial styles of the speech agent, will be used unless another one is explicitly specified. The attribute required is a phrase name:

[0185] [e.g. <say phrase=“GREETING!”>

[0186] “GREETING!” may be a tag to an audio file held in the audio graphics library 28, or may be replayed using a text-to-speech translator on the client side.

[0187] AGENT THEME

[0188] This markup causes the vocal and facial style combination for the speech agent to be altered from the default. Voice style attributes may be used in order to incorporate different genders, accents and/or languages into the playback. Face style attributes allow different appearances to be selected for the speech agent. The combination of attributes may be used to create agents with different personalities. The attributes which may be included are:

[0189] voice gender, accent, language, base facial style, skin color, hair color, eye color, mouth size, etc.

[0190] e.g. <agent themefemale3,English,Englishfemale5,pale,black,brown, medium>

[0191] ACTION

[0192] This markup controls the image of the speech agent, determining whether it is to be displayed and any movements to be made in conjunction with audio playback. The attributes are an action for the agent (possible actions: appear, talk, smile, wink, etc.) and an action activation status (on/off). e.g. <action=talk; on>

[0193] The action markups are referenced by a moving image handler to produce and control the image of the speech agent. When the appear action is activated, the speech agent appears at a specified part of the screen display. When deactivated, the speech agent does not appear. When the talk action is activated, the moving image handler animates the mouth of the speech agent in conjunction with any speech being generated by the SAY command. Other actions (e.g. smile, wink) are also suitably animated when activated.

[0194] HVML

[0195] HVML supports a single tag, namely PLAYBACK, which has a file reference attribute. When parsing Web page, the HVML tag is interpreted by the video tag handler, which retrieves a video file from the standard video file library 30 which corresponds with the reference contained in the command.

[0196] It will be appreciated that the HGML, HSML and HVML functionality illustrated above are provided for exemplary purposes. and are not intended to be limiting. It will be appreciated that various modifications and variations may be employed without departing from the scope of the present invention. 

What is claimed is:
 1. A mobile communications terminal adapted to generate graphical image data defining a facial image which is animated to simulate actions accompanying speech generated from data received via a radio interface, wherein the characteristics of the facial image are selectable by a user of the terminal.
 2. The mobile communications terminal of claim 1, wherein the selectable characteristics of the facial image comprise at least one of base facial style, skin color, hair color, eye color, and mouth size.
 3. The mobile communications terminal of claim 1, wherein the characteristics of the speech are selectable by a user of the terminal.
 4. A multimedia client terminal, the terminal comprising: a browser configured to interpret a multimedia document received from a remote server, the browser comprising: means for recognizing textual presentation markup tags in the document and presenting text to a user in accordance with the markup tags, means for recognizing a standard set of document-independent local library file tags in the document, means for storing a set of non-textual local library files corresponding to the local library tags, and means for presenting the contents of one of the local library files to a user in response to the recognition of one of the local library file tags in the multimedia document.
 5. The multimedia client terminal of claim 4, wherein the multimedia client terminal is a mobile communications terminal.
 6. The multimedia client terminal of claim 4, wherein the non-textual files comprise one or more of graphics files, audio files and/or video files.
 7. The multimedia client terminal of claim 4, wherein the non-textual files comprise data for speech synthesis, and the tags define speech to be synthesized.
 8. A multimedia document server, the server comprising a storage holding a set of multimedia documents, one or more of the documents comprising: textual presentation commands; and one or more of a standard set of document-independent markup tags to be recognized by a client terminal downloading the one or more documents as references to non-textual files which are stored in the client terminal.
 9. The multimedia document server of claim 8, wherein the client terminal is a mobile communications terminal.
 10. The multimedia document server of claim 8, wherein the non-textual files comprise one or more of graphics files, audio files and/or video files.
 11. The multimedia document server of claim 8, wherein the non-textual files comprise data for speech synthesis, and the tags define speech to be synthesized.
 12. A document retrieval system comprising: a client terminal comprising a browser configured to interpret a multimedia document received from a remote server, the browser comprising: means for recognizing textual presentation markup tags in the document and presenting text to a user in accordance with the markup tags, means for recognizing a standard set of document-independent local library file tags in the document, means for storing a set of non-textual local library files corresponding to the local library tags, and means for presenting the contents of one of the local library files to a user in response to the recognition of one of the local library file tags in the multimedia document; and a document server comprising a storage holding a set of multimedia documents, one or more of the documents comprising: textual presentation commands, and one or more of a standard set of document-independent markup tags to be recognized by a client terminal downloading the one or more documents as references to non-textual files which are stored in the client terminal.
 13. The document retrieval system of claim 12, wherein the client terminal is a mobile communications terminal.
 14. The document retrieval system of claim 12, wherein the non-textual files comprise one or more of graphics files, audio files and/or video files.
 15. The document retrieval system of claim 12, wherein the non-textual files comprise data for speech synthesis, and the tags define speech to be synthesized.
 16. A communications terminal for accessing Web pages via an Internet protocol connection, the terminal comprising a browser for interpreting Web pages and presenting the contents thereof on a display portion of the communications terminal, the browser configured to recognize two dimensional graphics markup tags in a Web page and render a graphical object on the display portion on the basis of a plurality of the graphics markup tags.
 17. The communications terminal according to claim 16, wherein the graphics markup tags comprise line drawing commands and/or image manipulation commands.
 18. A Web server comprising Web pages describing a two dimensional graphical object by way of the graphics markup tags used by a communications terminal for accessing Web pages via an Internet protocol connection, the terminal comprising a browser for interpreting Web pages and presenting the contents thereof on a display portion of the communications terminal, the browser configured to recognize two dimensional graphics markup tags in a Web page and render a graphical object on the display portion on the basis of a plurality of the graphics markup tags.
 19. A multimedia client terminal, comprising: a browser for interpreting a multimedia document received from a remote server, comprising: means for recognizing speech presentation markup tags in the document; means for storing a set of local library files corresponding to the speech presentation markup tags; and means for presenting the speech to a user in accordance with the local library files tags found in the multimedia document.
 20. The client terminal according to claim 19, wherein the speech is presented in conjunction with a graphical display comprising a moving facial image.
 21. The client terminal according to claim 20, wherein the characteristics of the moving facial image are selectable by a user of the client terminal.
 22. A multimedia client terminal, comprising: a browser for interpreting a multimedia document received from a remote server, comprising: software configured to recognize speech presentation markup tags in the document; software configured to store a set of local library files corresponding to the speech presentation markup tags; and software configured to present the speech to a user in accordance with the local library files tags found in the multimedia document. 